﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Negocio.TipoProduto;
using Negocio.SubtipoProduto;

namespace qbaproject.SubtipoProduto.Consultar
{
    public partial class consultarSubtipoProduto : System.Web.UI.Page
    {
        private int paginaAtual = 0;

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                carregarDdl();
            }
        }

        public void carregarDdl()
        {
            var obNTipoProduto = new NTipoProduto();

            //Carregar status
            ddlTiposProduto.DataSource = obNTipoProduto.pegarTiposProduto();
            ddlTiposProduto.DataBind();
            ddlTiposProduto.Items.Insert(0, new ListItem("Selecionar o tipo de produto", "0"));
        }

        protected void lnk_Click(object sender, EventArgs e)
        {
            Response.Redirect("~/SubtipoProduto/Incluir/incluirSubtipoProduto.aspx");
        }

        protected void lkbPesquisar_Click(object sender, EventArgs e)
        {
            carregarGrid();
        }

        public void carregarGrid()
        {

            var idTipoProduto = Convert.ToInt32(ddlTiposProduto.SelectedValue);
            var obNSubtipoProduto = new NSubtipoProduto();
            var obListSubtipoProduto = obNSubtipoProduto.pegarSubtiposProduto(idTipoProduto, txtNmSubtipoProduto.Text, txtDsSubtipoProduto.Text);

            if (obListSubtipoProduto.Tables[0].Rows.Count != 0)
            {
                divMsnPesquisaSucesso.Visible = true;
                lblNumEncontrados.Text = "Foram encontrados " + obListSubtipoProduto.Tables[0].Rows.Count.ToString() + " registros.";
                divMsnPesquisaAtencao.Visible = false;
            }
            else
            {
                divMsnPesquisaSucesso.Visible = false;
                divMsnPesquisaAtencao.Visible = true;
            }

            grdResSubtipoProduto.PageSize = 15;
            grdResSubtipoProduto.AllowPaging = true;
            grdResSubtipoProduto.PageIndex = paginaAtual;
            grdResSubtipoProduto.DataSource = obListSubtipoProduto;
            grdResSubtipoProduto.DataBind();
        }

        protected void grdResSubtipoProduto_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            paginaAtual = e.NewPageIndex;
            carregarGrid();
        }

        protected void lkbSim_Click(object sender, EventArgs e)
        {
            var idSubtipoProduto = Convert.ToInt32(hdfIdSubtipoProdutoRemover.Value);
            var obNSubtipoProduto = new NSubtipoProduto();
            obNSubtipoProduto.Remover(idSubtipoProduto);
            carregarGrid();
        }

        protected void lkbNao_Click(object sender, EventArgs e)
        {
            ModalPopupRemover.Hide();
        }

        protected void grdResSubtipoProduto_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            switch (e.CommandName)
            {
                case "editar":
                    var idSubtipoProduto = e.CommandArgument.ToString();
                    Response.Redirect("~/SubtipoProduto/Editar/editarSubtipoProduto.aspx?id=" + idSubtipoProduto);
                    break;
                case "remover":
                    var idSubtipoProdutoRemover = e.CommandArgument.ToString();
                    hdfIdSubtipoProdutoRemover.Value = idSubtipoProdutoRemover;
                    ModalPopupRemover.Show();
                    break;
            }

        }

    }
}